import { BoardTheme } from '../types';

// 经典城市主题
export const classicCityTheme: BoardTheme = {
  id: 'classic-city',
  name: '经典城市',
  propertyNames: [
    '老城区', '新街口', '中山路', '解放路',
    '人民广场', '火车站', '汽车站', '机场',
    '商业街', '步行街', '购物中心', '百货大楼',
    '科技园', '工业区', '开发区', '高新区',
    '大学城', '文化区', '艺术中心', '博物馆',
    '公园路', '湖滨路', '江滨路', '海滨路',
    '金融街', '银行区', '证券所', '交易所',
    '住宅区', '别墅区', '公寓楼', '商住楼',
  ],
  colorGroups: {
    '棕色': '#8B4513',
    '浅蓝': '#87CEEB',
    '粉色': '#FF69B4',
    '橙色': '#FFA500',
    '红色': '#FF0000',
    '黄色': '#FFD700',
    '绿色': '#00FF00',
    '深蓝': '#0000FF',
  },
  specialSpaceNames: {
    go: '起点',
    jail: '监狱',
    freeParking: '免费停车',
    goToJail: '进监狱',
  },
};

// 科技未来主题
export const techFutureTheme: BoardTheme = {
  id: 'tech-future',
  name: '科技未来',
  propertyNames: [
    '量子实验室', '人工智能中心', '机器人工厂', '纳米技术园',
    '太空港', '火星基地', '月球站', '轨道城',
    '虚拟现实馆', '全息影院', '数字博物馆', '元宇宙广场',
    '生物科技园', '基因研究所', '克隆中心', '医疗舱',
    '能源塔', '核聚变站', '太阳能场', '风力农场',
    '数据中心', '云计算区', '区块链城', '加密谷',
    '飞行器港', '磁悬浮站', '传送门', '时空隧道',
    '智能住宅', '生态穹顶', '海底城', '天空之城',
  ],
  colorGroups: {
    '青铜': '#CD7F32',
    '银色': '#C0C0C0',
    '金色': '#FFD700',
    '钛合金': '#878681',
    '霓虹蓝': '#4D4DFF',
    '等离子紫': '#9D00FF',
    '激光红': '#FF0040',
    '量子绿': '#00FF41',
  },
  specialSpaceNames: {
    go: '启动点',
    jail: '隔离舱',
    freeParking: '充电站',
    goToJail: '进隔离',
  },
};

// 奇幻世界主题
export const fantasyWorldTheme: BoardTheme = {
  id: 'fantasy-world',
  name: '奇幻世界',
  propertyNames: [
    '精灵森林', '矮人矿山', '巨龙巢穴', '凤凰神殿',
    '魔法学院', '炼金工坊', '符文塔', '水晶宫',
    '勇者村庄', '骑士城堡', '公主塔楼', '国王宝座',
    '暗影之地', '亡灵墓地', '恶魔领域', '深渊裂缝',
    '天使圣域', '光明教堂', '神圣泉水', '祝福祭坛',
    '商人集市', '冒险者公会', '宝藏洞穴', '遗迹废墟',
    '魔兽森林', '巨人山脉', '海妖海湾', '独角兽草原',
    '时空之门', '命运之轮', '预言神殿', '永恒之塔',
  ],
  colorGroups: {
    '大地棕': '#8B7355',
    '天空蓝': '#87CEEB',
    '魔法紫': '#9370DB',
    '火焰橙': '#FF4500',
    '血红': '#8B0000',
    '圣光金': '#FFD700',
    '自然绿': '#228B22',
    '深海蓝': '#00008B',
  },
  specialSpaceNames: {
    go: '出发地',
    jail: '地牢',
    freeParking: '休息站',
    goToJail: '入狱',
  },
};

// 美食天堂主题
export const foodParadiseTheme: BoardTheme = {
  id: 'food-paradise',
  name: '美食天堂',
  propertyNames: [
    '面包房', '蛋糕店', '甜品屋', '冰淇淋店',
    '咖啡馆', '茶馆', '奶茶店', '果汁吧',
    '中餐厅', '日料店', '韩国烤肉', '泰国菜馆',
    '意大利餐厅', '法式西餐', '美式快餐', '墨西哥餐吧',
    '火锅店', '烧烤摊', '小吃街', '夜市',
    '海鲜市场', '水果店', '蔬菜铺', '肉铺',
    '酒吧', '夜总会', '音乐餐厅', '主题餐厅',
    '米其林餐厅', '私房菜', '宴会厅', '美食广场',
  ],
  colorGroups: {
    '面包色': '#DEB887',
    '奶油色': '#FFFACD',
    '草莓粉': '#FFB6C1',
    '橙汁橙': '#FFA500',
    '番茄红': '#FF6347',
    '柠檬黄': '#FFFF00',
    '抹茶绿': '#90EE90',
    '蓝莓蓝': '#6495ED',
  },
  specialSpaceNames: {
    go: '美食起点',
    jail: '厨房',
    freeParking: '用餐区',
    goToJail: '进厨房',
  },
};

// 所有主题
export const allThemes: BoardTheme[] = [
  classicCityTheme,
  techFutureTheme,
  fantasyWorldTheme,
  foodParadiseTheme,
];

// 根据ID获取主题
export function getThemeById(id: string): BoardTheme | undefined {
  return allThemes.find(theme => theme.id === id);
}

// 获取默认主题
export function getDefaultTheme(): BoardTheme {
  return classicCityTheme;
}

// 获取随机主题
export function getRandomTheme(): BoardTheme {
  return allThemes[Math.floor(Math.random() * allThemes.length)];
}
